<html>
<head><meta charset="utf-8"><title>meeting 2021-02-23 · project-const-generics · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/index.html">project-const-generics</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html">meeting 2021-02-23</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="227447600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227447600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227447600">(Feb 23 2021 at 15:23)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="3805">@project-const-generics</span>, meeting's here in a bit more than 20 minutes</p>



<a name="227447970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227447970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227447970">(Feb 23 2021 at 15:25)</a>:</h4>
<p>my goal is to both talk a bit about <a href="https://github.com/rust-lang/rust/issues/79356">#79356</a> and to explore the design space around <code>WithOptConstParam</code>, as <span class="user-mention" data-user-id="116009">@nikomatsakis</span> had some possible alternatives for this</p>



<a name="227448075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227448075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227448075">(Feb 23 2021 at 15:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> do you have something to say about that today or should we move it to a later date?</p>



<a name="227448229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227448229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227448229">(Feb 23 2021 at 15:27)</a>:</h4>
<p>notes: <a href="https://hackmd.io/aHgvN1bWTayErMrx4k7irg">https://hackmd.io/aHgvN1bWTayErMrx4k7irg</a></p>



<a name="227451105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451105">(Feb 23 2021 at 15:46)</a>:</h4>
<p>wave</p>



<a name="227451129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451129">(Feb 23 2021 at 15:46)</a>:</h4>
<p>I would love to talk about that</p>



<a name="227451137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451137">(Feb 23 2021 at 15:46)</a>:</h4>
<p>but I confess I didn't prepare anything</p>



<a name="227451159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451159">(Feb 23 2021 at 15:46)</a>:</h4>
<p>^^</p>



<a name="227451165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451165">(Feb 23 2021 at 15:46)</a>:</h4>
<p>I think it'd be helpful to talk out whta it's used for :)</p>



<a name="227451174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451174">(Feb 23 2021 at 15:46)</a>:</h4>
<p>I had started to prepare stuff...</p>



<a name="227451201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451201">(Feb 23 2021 at 15:46)</a>:</h4>
<p>we could start with <a href="https://github.com/rust-lang/rust/issues/79356">https://github.com/rust-lang/rust/issues/79356</a> if you want</p>



<a name="227451277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451277">(Feb 23 2021 at 15:47)</a>:</h4>
<p>hm, then let's start with <a href="https://github.com/rust-lang/rust/issues/79356">#79356</a></p>



<a name="227451579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451579">(Feb 23 2021 at 15:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227448229">said</a>:</p>
<blockquote>
<p>notes: <a href="https://hackmd.io/aHgvN1bWTayErMrx4k7irg">https://hackmd.io/aHgvN1bWTayErMrx4k7irg</a></p>
</blockquote>
<p>i tried to summarize the issue in the notes</p>



<a name="227451682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451682">(Feb 23 2021 at 15:49)</a>:</h4>
<p>playground: <a href="https://play.rust-lang.org/?version=nightly&amp;mode=debug&amp;edition=2018&amp;gist=2c78df92664ee9d9b773a25e3addbe5c">https://play.rust-lang.org/?version=nightly&amp;mode=debug&amp;edition=2018&amp;gist=2c78df92664ee9d9b773a25e3addbe5c</a></p>



<a name="227451880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227451880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227451880">(Feb 23 2021 at 15:50)</a>:</h4>
<p>reading now</p>



<a name="227452087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452087">(Feb 23 2021 at 15:51)</a>:</h4>
<p>what kind of cycle are we talking about here</p>



<a name="227452116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452116">(Feb 23 2021 at 15:51)</a>:</h4>
<p>a query cycle</p>



<a name="227452235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452235">(Feb 23 2021 at 15:52)</a>:</h4>
<p>I posted the output at the bottom of the hackmd</p>



<a name="227452308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452308">(Feb 23 2021 at 15:52)</a>:</h4>
<p>I don't quite understand the connection between</p>



<a name="227452339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452339">(Feb 23 2021 at 15:53)</a>:</h4>
<blockquote>
<p>= note: ...which requires evaluating trait selection obligation <code>[u8; 7]: std::marker::Sized</code>...</p>
</blockquote>
<p>and</p>
<blockquote>
<p>= note: ...which again requires simplifying constant for the type system <code>test::{constant#0}</code>, completing the cycle</p>
</blockquote>



<a name="227452365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452365">(Feb 23 2021 at 15:53)</a>:</h4>
<p>what is "simplifying" a constant?</p>



<a name="227452398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452398">(Feb 23 2021 at 15:53)</a>:</h4>
<p>"simplifying constant" is a post-const eval thing for turning the result into a type level constant</p>



<a name="227452426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452426">(Feb 23 2021 at 15:53)</a>:</h4>
<p>Allocation -&gt; ty::Const essentially, you can treat it as part of the const eval query, just that the const eval query is two queries where the one always calls the other.</p>



<a name="227452473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452473">(Feb 23 2021 at 15:53)</a>:</h4>
<p>is this because of the where clauses that are in scope when evaluating that trait obligation?</p>



<a name="227452567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452567">(Feb 23 2021 at 15:54)</a>:</h4>
<p>yeah, when typechecking</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">_</span>: <span class="nc">Foo</span><span class="o">&lt;</span><span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="mi">7</span><span class="p">]</span><span class="o">&gt;</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="mi">3</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="227452611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452611">(Feb 23 2021 at 15:54)</a>:</h4>
<p>the following predicate is part of the caller bounds</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">_</span>: <span class="nc">Foo</span><span class="o">&lt;</span><span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="mi">7</span><span class="p">]</span><span class="o">&gt;</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="mi">3</span><span class="w"></span>
<span class="p">}]</span>: <span class="nb">Sized</span>
</code></pre></div>



<a name="227452751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452751">(Feb 23 2021 at 15:55)</a>:</h4>
<p>ok i'm starting to see it</p>



<a name="227452838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452838">(Feb 23 2021 at 15:56)</a>:</h4>
<p>we unify <code>[u8; unevaluated]</code> with <code>[u8; 7]</code></p>



<a name="227452906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452906">(Feb 23 2021 at 15:56)</a>:</h4>
<p>and that triggers evaluation of <code>unevaluated</code></p>



<a name="227452918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452918">(Feb 23 2021 at 15:56)</a>:</h4>
<p>to see if it might equal 7?</p>



<a name="227452931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452931">(Feb 23 2021 at 15:56)</a>:</h4>
<p>yeah</p>



<a name="227452989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227452989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227452989">(Feb 23 2021 at 15:56)</a>:</h4>
<p>hmm</p>



<a name="227453031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453031">(Feb 23 2021 at 15:57)</a>:</h4>
<p>so... a chalk like approach wouldn't have a problem with this</p>



<a name="227453105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453105">(Feb 23 2021 at 15:57)</a>:</h4>
<p>though how chalk + constant evaluation gets integrated is still a bit opaque to me</p>



<a name="227453108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453108">(Feb 23 2021 at 15:57)</a>:</h4>
<p><em>now if only i knew how the chalk like approach would work</em> ^^</p>



<a name="227453133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453133">(Feb 23 2021 at 15:57)</a>:</h4>
<p>so what I meant by that is</p>



<a name="227453167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453167">(Feb 23 2021 at 15:57)</a>:</h4>
<p>a "chalk-like" approach would basically treat that branch that triggered the cycle as an error and go on exploring other branches</p>



<a name="227453249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453249">(Feb 23 2021 at 15:58)</a>:</h4>
<p>so it would say "ok, we can't unify unevaluated with 7 right now, let's see if there's any other way to prove <code>[u8; 7]: Sized</code></p>



<a name="227453254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453254">(Feb 23 2021 at 15:58)</a>:</h4>
<p>and sure enough there is</p>



<a name="227453279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453279">(Feb 23 2021 at 15:58)</a>:</h4>
<p>(just on first principles)</p>



<a name="227453342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453342">(Feb 23 2021 at 15:58)</a>:</h4>
<p>on a related note, I've been wanting to extend salsa to handle those sorts of recursion errors</p>



<a name="227453357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453357">(Feb 23 2021 at 15:58)</a>:</h4>
<p>rather than always giving errors on cycles</p>



<a name="227453374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453374">(Feb 23 2021 at 15:58)</a>:</h4>
<p>(What's salsa?)</p>



<a name="227453395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453395">(Feb 23 2021 at 15:58)</a>:</h4>
<p>hm, so that would solve this issue afaict</p>



<a name="227453404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453404">(Feb 23 2021 at 15:59)</a>:</h4>
<p>and, presuming that worked out, I would probably want to do the same for rustc's query system</p>



<a name="227453464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453464">(Feb 23 2021 at 15:59)</a>:</h4>
<p><a href="https://rustc-dev-guide.rust-lang.org/salsa.html">https://rustc-dev-guide.rust-lang.org/salsa.html</a></p>



<a name="227453487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453487">(Feb 23 2021 at 15:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227453374">said</a>:</p>
<blockquote>
<p>(What's salsa?)</p>
</blockquote>
<p><a href="https://github.com/salsa-rs/salsa">https://github.com/salsa-rs/salsa</a> -- it's a separate implementation of the rustc query system, used by rust-analyzer</p>



<a name="227453516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453516">(Feb 23 2021 at 15:59)</a>:</h4>
<p>thanks both :)</p>



<a name="227453591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453591">(Feb 23 2021 at 16:00)</a>:</h4>
<p>(really I just want to merge salsa + rustc's query system some day)</p>



<a name="227453787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453787">(Feb 23 2021 at 16:00)</a>:</h4>
<p>Do we have a pre-salsa and pre-chalk solution for this situation?</p>



<a name="227453806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227453806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227453806">(Feb 23 2021 at 16:00)</a>:</h4>
<p>so I guess the question is if/how we could integrate an approach like this into rustc</p>



<a name="227454045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454045">(Feb 23 2021 at 16:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227453787">said</a>:</p>
<blockquote>
<p>Do we have a pre-salsa and pre-chalk solution for this situation?</p>
</blockquote>
<p>well</p>



<a name="227454084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454084">(Feb 23 2021 at 16:01)</a>:</h4>
<p>there are obvious workarounds that would address this specific example</p>



<a name="227454203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454203">(Feb 23 2021 at 16:01)</a>:</h4>
<p>I don't quite know how representative this example is</p>



<a name="227454426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454426">(Feb 23 2021 at 16:02)</a>:</h4>
<p>not too representative I feel</p>



<a name="227454490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454490">(Feb 23 2021 at 16:02)</a>:</h4>
<p>e.g., we could tweak selection order to give priority when solving <code>[T; C]: Sized</code> for example, if <code>C</code> is a builtin value, that sort of thing</p>



<a name="227454536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454536">(Feb 23 2021 at 16:02)</a>:</h4>
<p>i am afraid of const evaluatable bounds where this can happen a lot more easily</p>



<a name="227454871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454871">(Feb 23 2021 at 16:03)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span><span class="k">where</span><span class="w"></span>
<span class="w">    </span><span class="n">evaluatable</span><span class="p">(</span><span class="n">size_of</span>::<span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="p">()),</span><span class="w"></span>
<span class="w">    </span><span class="n">evaluatable</span><span class="p">(</span><span class="n">size_of</span>::<span class="o">&lt;</span><span class="p">[</span><span class="kt">u16</span><span class="p">;</span><span class="w"> </span><span class="n">size_of</span>::<span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="p">()]</span><span class="o">&gt;</span><span class="p">),</span><span class="w"></span>
<span class="p">{}</span><span class="w"></span>
</code></pre></div>



<a name="227454893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454893">(Feb 23 2021 at 16:04)</a>:</h4>
<p>could we do something like the MIR inliner cycle prevention algorithm that runs on the code to find cycles without actually calling queries?</p>



<a name="227454982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227454982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227454982">(Feb 23 2021 at 16:04)</a>:</h4>
<p>so having multiple const evaluatable bounds where one of them depends on another one</p>



<a name="227455393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227455393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227455393">(Feb 23 2021 at 16:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227454893">said</a>:</p>
<blockquote>
<p>could we do something like the MIR inliner cycle prevention algorithm that runs on the code to find cycles without actually calling queries?</p>
</blockquote>
<p>this seems hard to do</p>



<a name="227455541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227455541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227455541">(Feb 23 2021 at 16:06)</a>:</h4>
<p>I guess we could prune out where clauses with "evaluatable" bounds or something</p>



<a name="227455587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227455587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227455587">(Feb 23 2021 at 16:06)</a>:</h4>
<p>er, I mean with unevaluated constants</p>



<a name="227455633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227455633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227455633">(Feb 23 2021 at 16:06)</a>:</h4>
<p>that seems too limited for sure</p>



<a name="227455966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227455966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227455966">(Feb 23 2021 at 16:08)</a>:</h4>
<p>i think that's too limiting <span aria-label="thinking" class="emoji emoji-1f914" role="img" title="thinking">:thinking:</span></p>



<a name="227456103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456103">(Feb 23 2021 at 16:09)</a>:</h4>
<p>as it won't allow const evaluatable bounds to depend on other evaluatable bounds</p>



<a name="227456152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456152">(Feb 23 2021 at 16:09)</a>:</h4>
<p>which is something i really want to allow</p>



<a name="227456215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456215">(Feb 23 2021 at 16:09)</a>:</h4>
<p>i've considered filtering out all predicates which are "after" the predicate containing our anon const</p>



<a name="227456216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456216">(Feb 23 2021 at 16:09)</a>:</h4>
<p>well, it would just be an interim step</p>



<a name="227456227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456227">(Feb 23 2021 at 16:09)</a>:</h4>
<p>but</p>



<a name="227456331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456331">(Feb 23 2021 at 16:10)</a>:</h4>
<p>is it something that a first version of const evaluatable bounds needs to have? So we could still keep the real solution (salsa or chalk) on the horizon, but get something out quickly</p>



<a name="227456333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456333">(Feb 23 2021 at 16:10)</a>:</h4>
<p>well, but I guess we don't want that :)</p>



<a name="227456368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456368">(Feb 23 2021 at 16:10)</a>:</h4>
<p>this is kind of what I am asking myself</p>



<a name="227456370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456370">(Feb 23 2021 at 16:10)</a>:</h4>
<p>but we both don't have any ordering requirements rn and it seems really weird with associated type bounds and stuff</p>



<a name="227456409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456409">(Feb 23 2021 at 16:10)</a>:</h4>
<p>I feel like the <em>right</em> solution here is going to be handling cycles beter</p>



<a name="227456445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456445">(Feb 23 2021 at 16:10)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227456331">said</a>:</p>
<blockquote>
<p>is it something that a first version of const evaluatable bounds needs to have? So we could still keep the real solution (salsa or chalk) on the horizon, but get something out quickly</p>
</blockquote>
<blockquote>
<p>These cycles happen for code currently compiling on stable, so this would also require a crater run.</p>
</blockquote>



<a name="227456449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456449">(Feb 23 2021 at 16:10)</a>:</h4>
<p>I'm feeling a bit uncertain about all the queries involved though</p>



<a name="227456486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456486">(Feb 23 2021 at 16:11)</a>:</h4>
<p>this might even be a requirement to stabilize lazy norm at all</p>



<a name="227456593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456593">(Feb 23 2021 at 16:11)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227456449">said</a>:</p>
<blockquote>
<p>I'm feeling a bit uncertain about all the queries involved though</p>
</blockquote>
<p>in which sense?</p>



<a name="227456664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456664">(Feb 23 2021 at 16:12)</a>:</h4>
<p>there's a lot of them, and they cover a lot of the compiler</p>



<a name="227456706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456706">(Feb 23 2021 at 16:12)</a>:</h4>
<p>for the chalk approach to make sense, all the queries in between have to be something you can run and rerun</p>



<a name="227456719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456719">(Feb 23 2021 at 16:12)</a>:</h4>
<p>to generate add'l answers</p>



<a name="227456766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456766">(Feb 23 2021 at 16:12)</a>:</h4>
<p>for something like <code>Foo: Sized</code> there is only one possible answer</p>



<a name="227456775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456775">(Feb 23 2021 at 16:12)</a>:</h4>
<p>this matters more if inference is involved</p>



<a name="227456783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456783">(Feb 23 2021 at 16:12)</a>:</h4>
<p>yeah, that seems like a lot of work</p>



<a name="227456863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456863">(Feb 23 2021 at 16:13)</a>:</h4>
<p>the way it normally works--when you hit a cycle, you give up, but if you find another answer, you have to come back and try the cycle again with that answer as the result</p>



<a name="227456941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456941">(Feb 23 2021 at 16:13)</a>:</h4>
<p>i am kind of interested in how we intend to deal with cycles while staying deterministic</p>



<a name="227456978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456978">(Feb 23 2021 at 16:13)</a>:</h4>
<p>in general or in this specific case?</p>



<a name="227456987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227456987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227456987">(Feb 23 2021 at 16:13)</a>:</h4>
<p>If we made the queries return <code>Result</code>s and use some trickery like WithOptConstParam/ParamEnv where we feed in different surrounding information in calls to the same query for the "same" argument, then that is pretty much what the salsa approach is, only without query-engine support</p>



<a name="227457045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457045">(Feb 23 2021 at 16:14)</a>:</h4>
<p>I'm not sure why cycles cause problems with determinism in particular</p>



<a name="227457229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457229">(Feb 23 2021 at 16:15)</a>:</h4>
<p>plausibly</p>



<a name="227457241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457241">(Feb 23 2021 at 16:15)</a>:</h4>
<p>I'm wanting to rip out that trickery :)</p>



<a name="227457379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457379">(Feb 23 2021 at 16:16)</a>:</h4>
<p>uh, it's kinda hard to figure out a sensible example rn</p>



<a name="227457548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457548">(Feb 23 2021 at 16:17)</a>:</h4>
<blockquote>
<p>I'm not sure why cycles cause problems with determinism in particular</p>
</blockquote>
<p>in the inliner case, you would have gotten different code for the same input MIR depending on which MIR was optimized first</p>



<a name="227457614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457614">(Feb 23 2021 at 16:17)</a>:</h4>
<p>oh, I see</p>



<a name="227457701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457701">(Feb 23 2021 at 16:17)</a>:</h4>
<p>yeah so chalk avoids that by being thorough</p>



<a name="227457785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457785">(Feb 23 2021 at 16:17)</a>:</h4>
<p>this is why you have to re-run after you hit a cycle, in part</p>



<a name="227457850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227457850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227457850">(Feb 23 2021 at 16:17)</a>:</h4>
<p>to make sure you reach a fixed point</p>



<a name="227458025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458025">(Feb 23 2021 at 16:18)</a>:</h4>
<p>well</p>



<a name="227458038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458038">(Feb 23 2021 at 16:18)</a>:</h4>
<p>yea, but that isn't possible in all cycle situations (like in the MIR inliner case)</p>



<a name="227458042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458042">(Feb 23 2021 at 16:18)</a>:</h4>
<p>I don't know the answer here <span class="user-mention" data-user-id="216206">@lcnr</span> :P</p>



<a name="227458049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458049">(Feb 23 2021 at 16:18)</a>:</h4>
<p>right</p>



<a name="227458063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458063">(Feb 23 2021 at 16:18)</a>:</h4>
<p>which is sort of my point :)</p>



<a name="227458065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458065">(Feb 23 2021 at 16:18)</a>:</h4>
<p>but for the situation at hand, that sounds about right</p>



<a name="227458086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458086">(Feb 23 2021 at 16:18)</a>:</h4>
<p>I think it is possible here, but I'm not sure it's advisable</p>



<a name="227458305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458305">(Feb 23 2021 at 16:20)</a>:</h4>
<p>in particular I don't want to re-run the type checker</p>



<a name="227458340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458340">(Feb 23 2021 at 16:20)</a>:</h4>
<p>I'm wondering <span class="user-mention" data-user-id="216206">@lcnr</span> if we can talk about <code>WithOptConstParam</code> a bit</p>



<a name="227458351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458351">(Feb 23 2021 at 16:20)</a>:</h4>
<p>and think about this one :)</p>



<a name="227458408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458408">(Feb 23 2021 at 16:20)</a>:</h4>
<p>I do feel like the right answer is something like what I was talking about-- but I'm not sure the best way to realize it right now</p>



<a name="227458522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458522">(Feb 23 2021 at 16:21)</a>:</h4>
<p>I wanted to start by walking through the "canonical example" <a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.WithOptConstParam.html">from the docs</a> and talk out how it comes about again</p>



<a name="227458554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458554">(Feb 23 2021 at 16:21)</a>:</h4>
<p>I have this nagging feeling like there's a sign that something is a bit messed up and we could set it up in a different way</p>



<a name="227458560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458560">(Feb 23 2021 at 16:21)</a>:</h4>
<p>yeah, let's do that then</p>



<a name="227458731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458731">(Feb 23 2021 at 16:22)</a>:</h4>
<p>ok, so we're talking about </p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">struct</span> <span class="nc">A</span><span class="p">;</span><span class="w"></span>
<span class="k">impl</span><span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">N</span>: <span class="kt">usize</span><span class="o">&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="n">N</span><span class="p">]</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">N</span><span class="p">]</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w">    </span><span class="c1">//           ^ const parameter</span>
<span class="p">}</span><span class="w"></span>
<span class="k">struct</span> <span class="nc">B</span><span class="p">;</span><span class="w"></span>
<span class="k">impl</span><span class="w"> </span><span class="n">B</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">M</span>: <span class="kt">u8</span><span class="o">&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="kt">usize</span> <span class="p">{</span><span class="w"> </span><span class="mi">42</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w">    </span><span class="c1">//           ^ const parameter</span>
<span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">A</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">_b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">a</span><span class="p">.</span><span class="n">foo</span>::<span class="o">&lt;</span><span class="p">{</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="p">}</span><span class="o">&gt;</span><span class="p">();</span><span class="w"></span>
<span class="w">    </span><span class="c1">//               ^^^^^^^^^ const argument</span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="227458766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227458766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227458766">(Feb 23 2021 at 16:23)</a>:</h4>
<p>and are currently typechecking <code>main</code></p>



<a name="227459026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459026">(Feb 23 2021 at 16:24)</a>:</h4>
<p>rght</p>



<a name="227459048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459048">(Feb 23 2021 at 16:24)</a>:</h4>
<p>so we are trying to resolve the <code>a.foo</code> call, right?</p>



<a name="227459055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459055">(Feb 23 2021 at 16:24)</a>:</h4>
<p>and we see <code>{3+7}</code></p>



<a name="227459102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459102">(Feb 23 2021 at 16:25)</a>:</h4>
<p>that is, we go to the const arguments -- we get back an unevaluated constant <code>C</code>, effectively</p>



<a name="227459136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459136">(Feb 23 2021 at 16:25)</a>:</h4>
<p>hm,</p>



<a name="227459150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459150">(Feb 23 2021 at 16:25)</a>:</h4>
<p>so afaik</p>



<a name="227459171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459171">(Feb 23 2021 at 16:25)</a>:</h4>
<p>we already resolved <code>a.foo</code> here</p>



<a name="227459268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459268">(Feb 23 2021 at 16:26)</a>:</h4>
<p>I'm trying to remember the ordering, I can check the code</p>



<a name="227459277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459277">(Feb 23 2021 at 16:26)</a>:</h4>
<p>we certainly type check <code>a</code> first</p>



<a name="227459285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459285">(Feb 23 2021 at 16:26)</a>:</h4>
<p>and are currently converting the generic args to the <code>ty::substs::Subst</code></p>



<a name="227459350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459350">(Feb 23 2021 at 16:26)</a>:</h4>
<p>which is the first time we ever actually interact with <code>{3+7}</code> when typechecking main</p>



<a name="227459641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459641">(Feb 23 2021 at 16:28)</a>:</h4>
<p>we create the <code>ty::Const</code> for <code>{3+7}</code> here: <a href="https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_typeck/astconv/mod.rs.html#446">https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_typeck/astconv/mod.rs.html#446</a></p>



<a name="227459766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459766">(Feb 23 2021 at 16:29)</a>:</h4>
<p>(side note: rust-analyzer doesn't want to work for me)</p>



<a name="227459795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459795">(Feb 23 2021 at 16:29)</a>:</h4>
<p>which is annoying</p>



<a name="227459841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459841">(Feb 23 2021 at 16:29)</a>:</h4>
<p>Cargo metadata from Cargo.toml file /home/nmatsakis/versioned/rust-4/Cargo.toml, cargo 1.49.0 (d00d64df9 2020-12-05): Failed to run <code>cargo metadata --manifest-path /home/nmatsakis/versioned/rust-4/Cargo.toml</code> in <code>/home/nmatsakis/versioned/rust-4</code>: <code>cargo metadata</code> exited with an error: error: failed to read <code>/home/nmatsakis/versioned/rust-4/src/tools/cargo/crates/credential/cargo-credential-1password/Cargo.toml</code> Caused by: No such file or directory (os error 2)</p>



<a name="227459859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459859">(Feb 23 2021 at 16:30)</a>:</h4>
<p>does anybody else see stuff like that? presmably not</p>



<a name="227459968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227459968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227459968">(Feb 23 2021 at 16:30)</a>:</h4>
<p>(not using ra myself)</p>



<a name="227460050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460050">(Feb 23 2021 at 16:31)</a>:</h4>
<p>ok</p>



<a name="227460091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460091">(Feb 23 2021 at 16:31)</a>:</h4>
<p>so I'm reading <a href="https://github.com/nikomatsakis/rust/blob/a118ee2c13cc96ceb27bd5030c1cca1052377604/compiler/rustc_typeck/src/check/method/mod.rs#L183-L190"><code>lookup_method</code></a></p>



<a name="227460105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460105">(Feb 23 2021 at 16:31)</a>:</h4>
<p>to reconstruct the exact seqence</p>



<a name="227460121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460121">(Feb 23 2021 at 16:31)</a>:</h4>
<p>it has <code>self_ty</code> and <code>segment</code> as parameters</p>



<a name="227460167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460167">(Feb 23 2021 at 16:31)</a>:</h4>
<p>so it seems like, yes, we have resolved the method <em>before</em> we go to the type parameters</p>



<a name="227460273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460273">(Feb 23 2021 at 16:32)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-02-23/near/227459859">said</a>:</p>
<blockquote>
<p>does anybody else see stuff like that? presmably not</p>
</blockquote>
<p>Are all submodules checked out?</p>



<a name="227460308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460308">(Feb 23 2021 at 16:32)</a>:</h4>
<p>heh, you know, maybe not :)</p>



<a name="227460725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227460725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227460725">(Feb 23 2021 at 16:34)</a>:</h4>
<p>so we go into <a href="https://github.com/nikomatsakis/rust/blob/a118ee2c13cc96ceb27bd5030c1cca1052377604/compiler/rustc_typeck/src/check/method/confirm.rs#L81-L82"><code>instantiate_method_substs</code></a> I guess</p>



<a name="227461711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227461711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227461711">(Feb 23 2021 at 16:40)</a>:</h4>
<p>ok I'm still reading</p>



<a name="227461723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227461723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227461723">(Feb 23 2021 at 16:40)</a>:</h4>
<p>sorry, this is maybe not the best use of sync time :)</p>



<a name="227461741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227461741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227461741">(Feb 23 2021 at 16:40)</a>:</h4>
<p>but I guess I see to some extent what's going on</p>



<a name="227461964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227461964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227461964">(Feb 23 2021 at 16:42)</a>:</h4>
<p>^^</p>



<a name="227462106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227462106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227462106">(Feb 23 2021 at 16:42)</a>:</h4>
<p>at least <span class="user-mention" data-user-id="133247">@bjorn3</span> fixed my r-a :)</p>



<a name="227462917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227462917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227462917">(Feb 23 2021 at 16:47)</a>:</h4>
<p>do you still have any questions about <code>WithOptConstParam</code>? <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="227465185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227465185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227465185">(Feb 23 2021 at 17:00)</a>:</h4>
<p>so</p>



<a name="227465199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227465199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227465199">(Feb 23 2021 at 17:00)</a>:</h4>
<p>sorry, I had another meeting and I have to run</p>



<a name="227465231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227465231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227465231">(Feb 23 2021 at 17:01)</a>:</h4>
<p>I don't like <code>WithOptConstParam</code>, feel wrong, but I don't have a fresh answer for you yet</p>



<a name="227465255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-02-23/near/227465255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-02-23.html#227465255">(Feb 23 2021 at 17:01)</a>:</h4>
<p>I guess I'm still poking a bit at how it works</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>